package com.tangtang.gulimall.product.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

/**
 * 商品三级分类
 * 
 * @author tangtang
 * @email a1104707271@vip.qq.com
 * @date 2020-09-11 15:22:08
 */
@Data
@TableName("pms_category")
public class CategoryEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 分类id
	 */
	@TableId
	private Long catId;
	/**
	 * 分类名称
	 */
	private String name;
	/**
	 * 父分类id
	 */
	private Long parentCid;
	/**
	 * 层级
	 */
	private Integer catLevel;
	/**
	 * 是否显示[0-不显示，1显示],@TableLogic代表逻辑删除注解，就是更新数据库,如果数据逻辑删除的相反，可以加入参数value = "1",delval = "0"
	 */
	@TableLogic(value = "1",delval = "0")
	private Integer showStatus;
	/**
	 * 排序
	 */
	private Integer sort;
	/**
	 * 图标地址
	 */
	private String icon;
	/**
	 * 计量单位
	 */
	private String productUnit;
	/**
	 * 商品数量
	 */
	private Integer productCount;

    /**
     * 将所有的子菜单存入children中
     * @JsonInclude(JsonInclude.Include.NON_EMPTY)
     * 当返回得json为空的时候，不返回最后的空children的空集合
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
	@TableField(exist = false)
    private List<CategoryEntity> children;
}
